﻿@page "/ru/5.8/use-cases/opc-standard"
@{
    Layout = "_ArticleLayout";
    ViewBag.Title = "Подключение устройств с использованием стандарта OPC";
}

<h1>Подключение устройств с использованием стандарта OPC</h1>

<p><a href="https://ru.wikipedia.org/wiki/OPC" target="_blank">Стандарт OPC</a> обеспечивает универсальный способ подключения устройств различных производителей к SCADA-системе. Программный комплекс Rapid SCADA поддерживает следующие спецификации OPC:</p>

<ul>
    <li>OPC DA (Data Access) - чтение и запись текущих данных устройств;</li>
    <li>OPC AE (Alarms & Events) - уведомление о различных событиях.</li>
</ul>

<p>Реализация OPC-клиента комплексом Rapid SCADA выполнена в виде драйвера KpOpc.dll в составе приложения Коммуникатор. Особенностям настройки программы Коммуникатор для взаимодействия по стандарту OPC, преимущественно, посвящена данная статья.</p>

<p>Общая последовательность настройки:</p>

<ol>
    <li>Установить пакет OPC Core Components, который можно скачать с сайта <a href="https://opcfoundation.org/" target="_blank">opcfoundation.org</a> или <a href="https://rapidscada.ru/download-all-files/" target="_blank">rapidscada.ru</a>.</li>
    <li>Создать проект с помощью программы Администратор.</li>
    <li>Создать объект, линию связи и КП в базе конфигурации.</li>
    <li>Настроить соединение между Коммуникатором и OPC серверами, как описано в данной статье.</li>
    <li>В базе конфигурации создать входные каналы для считываемых OPC-тегов и каналы управления для записываемых.</li>
    <li>Создать одно или несколько представлений (таблиц или схем) для отображения информации в приложении Вебстанция. Прописать представления в базе конфигурации.</li>
</ol>

<p>Детали выполнения перечисленных выше пунктов, за исключением пункта 4, содержатся в разделе <a href="../software-configuration/configuration-basics">Настройка комплекса</a>. Рекомендуется ознакомиться с проектом DemoProject.ru-RU, который устанавливается вместе с Rapid SCADA. Примером устройства является КП 21 "OPC Демо", данные которого отображаются табличным представлением OpcDemo.tbl. Для полноценной работы примера нужно скачать и установить программу <a href="https://www.matrikonopc.com/downloads/178/productsoftware/index.aspx" target="_blank">MatrikonOPC Simulation Server</a>, которая имитирует работу OPC-сервера.</p>

<p>В Коммуникаторе необходимо создавать отдельные линии связи для каждого используемого OPC-сервера. Такой подход наиболее эффективен, потому что позволяет взаимодействовать с OPC серверами параллельно. В параметрах линий связи с OPC серверами установите тип канала связи <em>Не задан</em>. Затем добавьте КП на линии связи.</p>

<p>Привязка параметров КП к тегам OPC-сервера осуществляется с помощью специальной формы конфигурации КП (рис. 1). Данная форма открывается при вызове свойств КП из настроек Коммуникатора.</p>

<figure class="figure">
    <img src="opc-standard-files/opc_config_ru.png" class="figure-img img-fluid" alt="Выбор OPC-тегов" />
    <figcaption class="figure-caption">Рис. 1. Выбор OPC-тегов</figcaption>
</figure>

<p>Для использования доступны OPC-серверы, установленные на том же компьютере, на котором работает Коммуникатор. Если необходимо подключение к OPC-серверу, расположенному на другом компьютере сети, то необходимо установить экземпляр Коммуникатора на том компьютере и корректно настроить параметры его связи с Сервером.</p>

<p>Чтобы полученные от OPC-сервера значения были записаны во входные каналы Rapid SCADA, требуется привязка тегов КП к входным каналам базы конфигурации. Эта привязка может выполняться двумя способами, перечисленными ниже. Выбор способа определяется в каждом конкретном случае, исходя из удобства настройки.</p>

<ol>
    <li>Установка поля <em>Сигнал</em> в таблице <em>Входные каналы</em> базы конфигурации.</li>
    <li>Установка номера входного канала в поле <em>Канал</em> на форме конфигурации КП.</li>
</ol>

<p>После того, как конфигурирвание завершено, передайте проект на сервер с помощью кнопки <img src="../common-images/upload.png" />. Через несколько секунд работы Коммуникатора, если настройка выполнена правильно, на странице данных КП должны появиться значения, полученные от OPC-сервера (рис. 2). Эти значения также можно увидеть в браузере с помощью веб-приложения Вебстанция.</p>

<figure class="figure">
    <img src="opc-standard-files/opc_vals_ru.png" class="figure-img img-fluid" alt="Значения OPC-тегов" />
    <figcaption class="figure-caption">Рис. 2. Значения OPC-тегов</figcaption>
</figure>

<p><strong>Известная проблема</strong> при работе с OPC: не удаётся получить данные от OPC-сервера, при этом в свойствах КП требуемый OPC-сервер доступен.</p>

<p>Вероятная причина проблемы заключается в том, что Коммуникатор работает как служба Windows от пользователя system, а OPC-сервер не поддерживает подключение к нему от имени данного пользователя.</p>

<p><strong>Решение 1</strong>. В параметрах DCOM для OPC-сервера необходимо установить запуск от имени конкретного пользователя, который является администратором компьютера. Чтобы открыть настройки DCOM (рис. 3), скопируйте следующий путь в проводник <em>Панель управления\Система и безопасность\Администрирование\Службы компонентов</em> или просто запустите <em>comexp.msc</em></p>

<figure class="figure">
    <img src="opc-standard-files/dcom_config_ru.png" class="figure-img img-fluid" alt="Конфигурация DCOM" />
    <figcaption class="figure-caption">Рис. 3. Конфигурация DCOM</figcaption>
</figure>

<p><strong>Решение 2</strong>. Установить учётную запись пользователя, которая используется для работы службы Коммуникатора. Откройте настройки служб, скопировав в проводник <em>Панель управления\Система и безопасность\Администрирование\Управление компьютером\Службы</em> или запустив <em>services.msc</em>. Найдите службу ScadaCommService и откройте её свойства. Введите имя пользователя и пароль на странице <em>Вход в систему</em>, как показано на рис. 4. Указанный пользователь должен обладать правами администратора компьютера.</p>

<figure class="figure">
    <img src="opc-standard-files/comm_svc_logon_ru.png" class="figure-img img-fluid" alt="Свойства службы" />
    <figcaption class="figure-caption">Рис. 4. Свойства службы</figcaption>
</figure>
